<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    span {
      padding: 0px !important
    }
  </style>
  <link rel="icon" href="/static/ico/title.ico" type="image/x-icon">
  <link href="/static/css/fonts/element-icons.ttf" type="ttf">
  <link rel="stylesheet" href="/static/css/fonts/element-icons.woff" type="woff">
  <link rel="stylesheet" href="/static/css/animate.css">
  <link rel="stylesheet" href="/static/css/element/index.css">
  <link rel="stylesheet" href="/static/css/display.css">
  <link rel="stylesheet" href="/static/fonts/iconfont.css">
  <script src="/static/js/jquery.min.js"></script>
  <script src="/static/js/js2wordcloud.min.js"></script>
  <title>liu-cli</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      font-family: "微软雅黑";
      font-size: 13px;
      color: #ffffff;
    }

    body {
      background: #00a0fc;
      overflow: hidden;
    }
  </style>
</head>

<body>
  <div id="app">

  </div>
  <script src="/static/js/vue.min.js"></script>
  <script src="/static/js/vuex.min.js"></script>
  <script src="/static/js/xlsx.full.min.js"></script>
  <script src="/static/js/index.js"></script>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script src="/static/js/html2canvas.js"></script>
  <script src="/static/js/jspdf.debug.js"></script>
  <script src="/static/js/pdfdown.js"></script>
  <script src="/static/fonts/iconfont.js"></script>\
  <script>//

    (function () {
      window.addEventListener("load", function () {
        let t = performance.timing
        console.log("DNS查询耗时 ：" + (t.domainLookupEnd - t.domainLookupStart).toFixed(0))
        console.log("TCP链接耗时 ：" + (t.connectEnd - t.connectStart).toFixed(0))
        console.log("request请求耗时 ：" + (t.responseEnd - t.responseStart).toFixed(0))
        console.log("解析dom树耗时 ：" + (t.domComplete - t.domInteractive).toFixed(0))
        console.log("白屏时间 ：" + (t.responseStart - t.navigationStart).toFixed(0))
        console.log("domready时间 ：" + (t.domContentLoadedEventEnd - t.navigationStart).toFixed(0))
        console.log("onload时间 ：" + (new Date().getTime() - t.loadEventEnd - t.navigationStart).toFixed(0))
        console.log(performance.getEntries())
      })
    })()

//     DNS查询耗时 ：domainLookupEnd - domainLookupStart
// TCP链接耗时 ：connectEnd - connectStart
// request请求耗时 ：responseEnd - responseStart
// 解析dom树耗时 ： domComplete - domInteractive
// 白屏时间 ：responseStart - navigationStart
// domready时间 ：domContentLoadedEventEnd - navigationStart
// onload时间 ：loadEventEnd - navigationStart
    // console.log('交互时间',new Date().getTime() - time.navigationStart)
    // console.log('事件耗时',new Date().getTime() - time.navigationStart)
    // // console.log('编码主体大小',new Date().getTime() - time.navigationStart)
    // // console.log('资源输入类型',new Date().getTime() - time.navigationStart)
    // console.log('获取资源开始时间',new Date().getTime() - time.navigationStart)
    // // console.log('发起人类型',new Date().getTime() - time.navigationStart)
    // console.log('加载事件结束时间',new Date().getTime() - time.navigationStart)
    // console.log('加载事件开始时间',new Date().getTime() - time.navigationStart)
    // console.log('当前请求的 url 的地址',new Date().getTime() - time.navigationStart)
    // console.log('下一个跳转协议',new Date().getTime() - time.navigationStart)
    // console.log('重定向次数',new Date().getTime() - time.navigationStart)
    // console.log('重定向开始时间',new Date().getTime() - time.navigationStart)
    // console.log('重定向结束时间',new Date().getTime() - time.navigationStart)
    // console.log('响应结束时间',new Date().getTime() - time.navigationStart)
    // console.log('安全连接开始时间',new Date().getTime() - time.navigationStart)
    // console.log('服务器时间',new Date().getTime() - time.navigationStart)
    // console.log('开始时间',new Date().getTime() - time.navigationStart)


    // console.log(performance)
//     connectEnd：连接结束时间
// connectStart：连接开始时间
// decodedBodySize：解码的主体大小
// domComplete：dom 渲染完成时间
// domContentLoadedEventEnd：dom 内容加载事件结束时间
// domContentLoadedEventStart：dom 内容加载事件开始时间
// domInteractive：dom 交互时间
// domainLookupEnd：域查找结束时间
// domainLookupStart：域查找开始时间
// duration：事件耗时
// encodedBodySize：编码主体大小
// entryType：资源输入类型
// fetchStart：获取资源开始时间
// initiatorType：发起人类型
// loadEventEnd：加载事件结束时间
// loadEventStart：加载事件开始时间
// name：这里一般就是当前请求的 url 的地址
// nextHopProtocol：下一个跳转协议
// redirectCount：重定向次数
// redirectEnd：重定向开始时间，如果没有重定向，值为0
// redirectStart：重定向结束时间，如果没有重定向，值为0
// requestStart：请求开始时间
// responseEnd：响应结束时间
// responseStart：响应开始时间
// secureConnectionStart：安全连接开始时间
// serverTiming：服务器时间
// startTime：开始时间
// transferSize：传递大小
// type：该事件的类型
// unloadEventEnd：卸载事件结束时间
// unloadEventStart：卸载事件开始时间
// workerStart：worker 开始时间

  </script>
  <script>
    //    窗口大小
    var oPageX = window.screen.width;
    var oPageY = window.screen.height;
    var aSnow = [];
    //    雪花模板
    function snow(x, y, xspeed, yspeed, xsin, size) {//x水平位置,y垂直位置,xspeed水平步距,yspeed垂直步距,xsin振幅,size雪花大小
      this.node = document.createElement('div');
      this.x = x;
      this.y = y;
      this.xspeed = xspeed;
      this.yspeed = yspeed;
      this.xsin = xsin;
      this.size = size;
      this.createSnow = function () {
        this.node.style.position = 'absolute';
        this.node.style.top = this.y + 'px';
        this.node.style.left = this.x + 'px';
        this.node.innerHTML = '*';
        document.body.appendChild(this.node);
      };
      this.createSnow();
      this.snowMove = function () {
        this.node.style.top = parseInt(this.node.style.top) + this.yspeed + 'px';//垂直方向运动
        this.node.style.left = parseInt(this.node.style.left) + this.xsin * Math.sin(this.xspeed) + 'px';
        this.node.style.fontSize = this.size + 'px';
        //            this.node.style.color='rgb('+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+','+Math.ceil(Math.random()*255)+')';
      };
    }
    //    创建雪花
    function createSnow() {
      aSnow.push(new snow(Math.random() * oPageX, -50, 0.02 + Math.random() / 10, 1 + Math.random(), Math.random() * 30, 20 + Math.random() * 30));
    }
    setInterval(createSnow, 1000);//一秒钟创建一个雪花
    //    雪花移动函数
    function snowMove() {
      for (var j = 0; j < aSnow.length; j++) {
        aSnow[j].snowMove();
        if (parseInt(aSnow[j].node.style.top) > oPageY || parseInt(aSnow[j].node.style.left) > oPageX) {
          aSnow[j].node.parentNode.removeChild(aSnow[j].node);
          aSnow.splice(j, 1);
        }
      }
    }
    setInterval(snowMove, 10);
  </script>
</body>

</html>